/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.asportoonline.business.delegates;

import java.util.List;
import org.asportoonline.business.beans.ClienteManager;
import org.asportoonline.entities.Cliente;

/**
 *
 * @author fe
 */
public class ClienteManagerDelegate extends AbstractDelegate implements ClienteManager {

    @Override
    protected String getServiceName() {
        return "java:comp/env/ejb/ClienteManager";
    }

    /**
     * Inserisce un nuovo Cliente, che deve avere un email univoca.
     * 
     * @param c Cliente da inserire 
     * @see Cliente
     */
    public void inserisciCliente(Cliente c) {
        ((ClienteManager)getService()).inserisciCliente(c);
    }

    /**
     * Cerca tutti i Clienti presenti nel database.
     * 
     * @return restituisce una lista contenente tutti i Clienti presenti nel database; 
     * se non ce ne sono restituisce null.
     * @see Cliente
     */
    public List<Cliente> elencoClienti() {
        return ((ClienteManager)getService()).elencoClienti();
    }

    /**
     * Cerca un Cliente in base all'ID.
     * 
     * @param id ID del cliente.
     * @return se l'ID esiste restituisce il Cliente, altrimenti restituisce null.
     * @see Cliente
     */
    public Cliente cercaCliente(long id) {
        return ((ClienteManager)getService()).cercaCliente(id);
    }

    /**
     * Cerca un Cliente in base all'email; l'email è univoca.
     * 
     * @param email 
     * @return se l'email esiste restituisce il Cliente, altrimenti restituisce null.
     * @see Cliente
     */
    public Cliente cercaCliente(String email) {
        return ((ClienteManager)getService()).cercaCliente(email);
    }

    /**
     * Modifica un cliente esistente.
     * 
     * @param cliente 
     * @see Cliente
     */
    public void aggiornaCliente(Cliente cliente) {
        ((ClienteManager)getService()).aggiornaCliente(cliente);
    }
    
    
    
}
